The present application relates to computing, and more specifically to software, User Interfaces (UIs), methods, and accompanying systems for determining characteristics of a computing device and making adjustments to software based on the characteristics.
Systems and methods for determining device characteristics are employed in various demanding applications, including webpage software for adjusting the rendering of a webpage based on automatically detected device software capabilities; emulators for enabling developers to view and test how a given application and/or browser window will appear when rendered on a particular device; enterprise Quality Assurance (QA) tasks, whereby QA personnel test appearance and functioning of a given user interface display screen to be presented via a browser window, and so on. Such applications often demand flexible systems that can accommodate detection and emulation of various computing device features and capabilities, without undue effort and expense.
Systems and methods for providing device detection and/or emulation capabilities are particularly important in enterprise applications, where network accessible software must often be tested and configured for various computing devices and use cases, including use cases involving various smartphones and tablets with varying form factors.
Different devices may exhibit different features, which may affect rendering of an enterprise application page in a browser window. Enterprise quality assurance personnel may be tasked with ensuring that users of different devices can adequately use cloud-based enterprise applications. In addition, software developers, which may communicate with the QA personnel, may require mechanisms, e.g., emulators, for testing software and making coding adjustments to ensure that web applications render as desired in different device displays. QA personnel and developers often require software tools to facilitate testing application behaviors on different computing platforms, i.e., devices.
Conventionally, QA personnel or developers may employ different emulators for different known devices to access and test network-based software applications rendered in a browser. The emulators may employ virtual machines to run computer code and display user interface features consistent with the particular device being tested. However, as subsequent generations of mobile computing devices and accompanying software rapidly change, emulators may not be available for the new computing devices. Testing can be critical to ensuring that a new product runs properly on various categories of devices.
Alternatively, physical devices are purchased for testing purposes. However, purchasing separate devices for all QA personnel and developers can be prohibitively expensive.
Accordingly, enterprise QA personnel and developers must often guess how particular web applications will appear in newly developed client devices, e.g., smartphones, tablets, and so on.